GrapeCity Secure FTP for .NET 4.0J
Read(Byte[]) メソッド
使用例 

受信したデータを格納するバイト配列。
リモートホストからデータを受信します。
シンタックス
Public Overloads Function Read( _
   ByVal buffer() As Byte _
) As Data
public Data Read( 
   byte[] buffer
)

パラメータ

buffer
受信したデータを格納するバイト配列。

戻り値の型

受信したデータをカプセル化するDataオブジェクト。ソケットが閉じた場合はnullを返します。
解説

このメソッドは、バッファーのサイズを上限として可能な限り多くのデータを読み取ります。

このメソッドはデータが取得されるか、ReceiveTimeoutプロパティが期限切れになるまで、処理をブロックします。

使用例
以下のサンプルコードは、ワーカースレッドでReadをループ処理してデータをUIにマーシャリングする方法を示します。
private void button1_Click(object sender, EventArgs e)
{
    // 別のスレッドでデータを受信します。
    myComponent.Start(readLoopWorker, null);
}

private void readLoopWorker(object state)
{
    // リモートホストから送信されたときにデータを受信します。
    byte[] buffer = new byte[1024];
    Data data = myComponent.Read(buffer);
    while (data != null)
    {
        myComponent.Marshal(data, "", null);
        data = myComponent.Read(buffer);
    }
    myComponent.Close();
}

private void myComponent_Data(object sender, Dart.Sockets.DataEventArgs e)
{
    // データが受信されるたびに、そのデータを表示します。
    textDisplay.AppendText(e.Data.ToString());
}
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    ' 別のスレッドでデータを受信します。
    myComponent.Start(AddressOf readLoopWorker, Nothing)
End Sub

Private Sub readLoopWorker(ByVal stat As Object)
    ' リモートホストから送信されたときにデータを受信します。
    Dim buffer(1023) As Byte
    Dim data As Data = myComponent.Read(buffer)
    Do While data IsNot Nothing
        myComponent.Marshal(data, "", Nothing)
        data = myComponent.Read(buffer)
    Loop
    myComponent.Close()
End Sub

Private Sub myComponent_Data(ByVal sender As Object, ByVal e As Dart.Sockets.DataEventArgs) Handles myComponent.Data
    ' データが受信されるたびに、そのデータを表示します。
    textDisplay.AppendText(e.Data.ToString())
End Sub
参照

関連項目

TcpBase クラス
TcpBase メンバ
オーバーロード一覧

 

 


© 2002, GrapeCity inc. All rights reserved.